_IMAGE_OPTIONAL_HEADER

//0xe0 bytes (sizeof) struct _IMAGE_OPTIONAL_HEADER { USHORT Magic; //0x0 UCHAR MajorLinkerVersion; //0x2 UCHAR MinorLinkerVersion; //0x3 ULONG SizeOfCode; //0x4 ULONG SizeOfInitializedData; //0x8 ULONG SizeOfUninitializedData; //0xc ULONG AddressOfEntryPoint; //0x10 ULONG BaseOfCode; //0x14 ULONG BaseOfData; //0x18 ULONG ImageBase; //0x1c ULONG SectionAlignment; //0x20 ULONG FileAlignment; //0x24 USHORT MajorOperatingSystemVersion; //0x28 USHORT MinorOperatingSystemVersion; //0x2a USHORT MajorImageVersion; //0x2c USHORT MinorImageVersion; //0x2e USHORT MajorSubsystemVersion; //0x30 USHORT MinorSubsystemVersion; //0x32 ULONG Win32VersionValue; //0x34 ULONG SizeOfImage; //0x38 ULONG SizeOfHeaders; //0x3c ULONG CheckSum; //0x40 USHORT Subsystem; //0x44 USHORT DllCharacteristics; //0x46 ULONG SizeOfStackReserve; //0x48 ULONG SizeOfStackCommit; //0x4c ULONG SizeOfHeapReserve; //0x50 ULONG SizeOfHeapCommit; //0x54 ULONG LoaderFlags; //0x58 ULONG NumberOfRvaAndSizes; //0x5c struct _IMAGE_DATA_DIRECTORY DataDirectory[16]; //0x60 };